package com.myKng.content.repository;

import com.myKng.content.model.File;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;

@Repository
public interface FileRepository extends JpaRepository<File, Long> {
    
    // 根据文件ID查询文件
    Optional<File> findByFileId(String fileId);
    
    // 根据上传者查询文件列表
    Page<File> findByUploadedBy(String uploadedBy, Pageable pageable);
    
    // 根据文件类型查询文件列表
    Page<File> findByFileType(String fileType, Pageable pageable);
    
    // 根据原始文件名模糊查询
    Page<File> findByOriginalNameContaining(String originalName, Pageable pageable);
    
    // 根据文件ID列表批量查询文件
    List<File> findByFileIdIn(List<String> fileIds);
}